const math/big._W
92 uses
math/big (current package)
arith.go#L22: _S = _W / 8 // word size in bytes
arith.go#L24: _W = bits.UintSize // word size in bits
arith.go#L25: _B = 1 << _W // digit base
arith.go#L210: s &= _W - 1 // hint to the compiler that shifts by s don't need guard code
arith.go#L211: ŝ := _W - s
arith.go#L212: ŝ &= _W - 1 // ditto
arith.go#L233: s &= _W - 1 // hint to the compiler that shifts by s don't need guard code
arith.go#L234: ŝ := _W - s
arith.go#L235: ŝ &= _W - 1 // ditto
arith.go#L276: x1 = x1<<s | x0>>(_W-s)
decimal.go#L42: const maxShift = _W - 4
float.go#L219: return uint(len(x.mant))*_W - x.mant.trailingZeroBits()
float.go#L380: const msb = 1 << (_W - 1)
float.go#L412: bits := m * _W // present mantissa bits; bits > 0
float.go#L442: n := (z.prec + (_W - 1)) / _W // mantissa length in words for desired precision
float.go#L449: ntz := n*_W - z.prec // 0 <= ntz < _W
float.go#L493: const msb = 1 << (_W - 1)
float.go#L700: if debugFloat && x[i]&(1<<(_W-1)) == 0 {
float.go#L703: switch _W {
float.go#L718: if debugFloat && x[i]&(1<<(_W-1)) == 0 {
float.go#L721: switch _W {
float.go#L876: if p < 0 /* m <= 0.25 */ || p == 0 && x.mant.sticky(uint(len(x.mant))*_W-1) == 0 /* m == 0.5 */ {
float.go#L996: if p < 0 /* m <= 0.25 */ || p == 0 && x.mant.sticky(uint(len(x.mant))*_W-1) == 0 /* m == 0.5 */ {
float.go#L1101: allBits := uint(len(x.mant)) * _W
float.go#L1148: allBits := int32(len(x.mant)) * _W
float.go#L1227: ex := int64(x.exp) - int64(len(x.mant))*_W
float.go#L1228: ey := int64(y.exp) - int64(len(y.mant))*_W
float.go#L1258: z.setExpAndRound(ex+int64(len(z.mant))*_W-fnorm(z.mant), 0)
float.go#L1274: ex := int64(x.exp) - int64(len(x.mant))*_W
float.go#L1275: ey := int64(y.exp) - int64(len(y.mant))*_W
float.go#L1311: z.setExpAndRound(ex+int64(len(z.mant))*_W-fnorm(z.mant), 0)
float.go#L1348: n := int(z.prec/_W) + 1
float.go#L1370: e := int64(x.exp) - int64(y.exp) - int64(d-len(z.mant))*_W
floatconv.go#L85: exp2 := int64(len(z.mant))*_W - fnorm(z.mant)
floatmarsh.go#L31: n = int((x.prec + (_W - 1)) / _W) // required mantissa length in words for given precision
ftoa.go#L330: switch w := uint32(len(x.mant)) * _W; {
ftoa.go#L381: switch w := uint(len(x.mant)) * _W; {
int.go#L86: } else if _W == 32 && u>>32 != 0 {
int.go#L421: if _W == 32 && len(x) > 1 {
int.go#L445: if len(x.abs) <= 64/_W {
int.go#L454: return !x.neg && len(x.abs) <= 64/_W
int.go#L673: a1 = A.abs[n-1]<<h | A.abs[n-2]>>(_W-h)
int.go#L677: a2 = B.abs[n-1]<<h | B.abs[n-2]>>(_W-h)
int.go#L679: a2 = B.abs[n-2] >> (_W - h)
nat.go#L347: return i*_W + bits.Len(top)
nat.go#L363: return i*_W + uint(bits.TrailingZeros(uint(x[i])))
nat.go#L373: return i*_W + uint(bits.TrailingZeros(uint(x[i]))), true
nat.go#L399: n := m + int(s/_W)
nat.go#L401: if s %= _W; s == 0 {
nat.go#L424: n := m - int(s/_W)
nat.go#L431: if s %= _W; s == 0 {
nat.go#L441: j := int(i / _W)
nat.go#L442: m := Word(1) << (i % _W)
nat.go#L471: j := i / _W
nat.go#L476: return uint(x[j] >> (i % _W) & 1)
nat.go#L482: j := i / _W
nat.go#L495: if x[j]<<(_W-i%_W) != 0 {
nat.go#L519: w := (n + _W - 1) / _W
nat.go#L525: if n%_W != 0 {
nat.go#L526: z[len(z)-1] &= 1<<(n%_W) - 1
nat.go#L594: bitLengthOfMSW := uint(n % _W)
nat.go#L596: bitLengthOfMSW = _W
nat.go#L601: switch _W {
nat.go#L695: const mask = 1 << (_W - 1)
nat.go#L701: w := _W - int(shift)
nat.go#L725: for j := 0; j < _W; j++ {
nat.go#L813: w := int((logM + _W - 1) / _W)
nat.go#L838: mtop := int((logM - 2) / _W) // -2 because the top word of N bits is the (N-1)/W'th word.
nat.go#L840: if mbits := (logM - 1) & (_W - 1); mbits != 0 {
nat.go#L853: for j := 0; j < _W; j += n {
nat.go#L876: zz = zz.mul(stk, z, powers[yi>>(_W-n)])
nat.go#L910: for i := 1; i < _W; i <<= 1 {
nat.go#L918: zz := nat(nil).lsh(RR, uint(2*numWords*_W))
nat.go#L947: for j := 0; j < _W; j += n {
nat.go#L954: zz = zz.montgomery(z, powers[yi>>(_W-n)], m, k0, numWords)
nat.go#L1014: if _W == 64 {
nat.go#L1105: for uint(len(z))*_W < n {
natconv.go#L176: n = _W
natconv.go#L178: n = _W / 2
natconv.go#L180: n = _W / 4
natconv.go#L271: z = z.rsh(z, uint(n-i)*uint(_W/n))
natconv.go#L321: nbits := uint(_W) // number of unprocessed bits in w
natconv.go#L337: nbits = _W
natconv.go#L346: nbits = _W - (shift - nbits)
natmul.go#L345: const D = _W / 4 // digits per chunk
prime.go#L61: switch _W {
sqrt.go#L128: z.mant = z.mant.make(int(prec2/_W) * 2)